package com.sisbibvir.unmsm.entidades;

import java.io.Serializable;
import javax.persistence.*;
import java.util.List;


/**
 * The persistent class for the propuesta database table.
 * 
 */
@Entity
public class Propuesta implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	private int id;

	private String descripcion;

	private int estado;

	private String tema;

	private String tipo;

	//bi-directional many-to-one association to Historialasignaciontesi
	@OneToMany(mappedBy="propuesta")
	private List<Historialasignaciontesi> historialasignaciontesis;

	//bi-directional many-to-many association to LineaDeInvestigacion
	@ManyToMany
	@JoinTable(
		name="linea_propuesta"
		, joinColumns={
			@JoinColumn(name="propuesta_id")
			}
		, inverseJoinColumns={
			@JoinColumn(name="linea_de_investigacion_id")
			}
		)
	private List<LineaDeInvestigacion> lineaDeInvestigacions;

	//bi-directional many-to-many association to Usuario
	@ManyToMany
	@JoinTable(
		name="usuariopropuesta"
		, joinColumns={
			@JoinColumn(name="propuesta_id")
			}
		, inverseJoinColumns={
			@JoinColumn(name="Usuario_id")
			}
		)
	private List<Usuario> usuarios;

	public Propuesta() {
	}

	public int getId() {
		return this.id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public int getEstado() {
		return this.estado;
	}

	public void setEstado(int estado) {
		this.estado = estado;
	}

	public String getTema() {
		return this.tema;
	}

	public void setTema(String tema) {
		this.tema = tema;
	}

	public String getTipo() {
		return this.tipo;
	}

	public void setTipo(String tipo) {
		this.tipo = tipo;
	}

	public List<Historialasignaciontesi> getHistorialasignaciontesis() {
		return this.historialasignaciontesis;
	}

	public void setHistorialasignaciontesis(List<Historialasignaciontesi> historialasignaciontesis) {
		this.historialasignaciontesis = historialasignaciontesis;
	}

	public List<LineaDeInvestigacion> getLineaDeInvestigacions() {
		return this.lineaDeInvestigacions;
	}

	public void setLineaDeInvestigacions(List<LineaDeInvestigacion> lineaDeInvestigacions) {
		this.lineaDeInvestigacions = lineaDeInvestigacions;
	}

	public List<Usuario> getUsuarios() {
		return this.usuarios;
	}

	public void setUsuarios(List<Usuario> usuarios) {
		this.usuarios = usuarios;
	}

}